/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * pnfDistribucionAlmacen.java
 *
 * Created on 22/10/2011, 03:32:37 PM
 */

package visual.Configuracion;

import bentity.beAlmacen;
import bentity.beCombo;
import bentity.beItem;
import bentity.beLote;
import bentity.bePallet;
import bentity.beProducto;
import bentity.beProveedor;
import bentity.beTipoProducto;
import bentity.beUbicacion;
import bentity.beUsuario;
import blogic.blAlmacen;
import blogic.blHelper;
import blogic.blIngreso;
import blogic.blLog;
import blogic.blLote;
import blogic.blPallet;
import blogic.blProducto;
import blogic.blProveedor;
import blogic.blRack;
import blogic.blUbicacion;
import java.awt.Dimension;
import java.io.File;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JFileChooser;
import jxl.Sheet;
import jxl.Workbook;
import visual.Seguridad.visualHelper;
import java.sql.Date;

/**
 *
 * @author giulio
 */
public class pnfDistribucionAlmacen extends javax.swing.JPanel {

    private Vector listData = new Vector();
    private int raCol = 0;
    private int rFila = 0;
    private int tamR = 0;
    private int uxr = 0;
    private int pis= 0;
    private beAlmacen alma =new beAlmacen();
    private boolean nuevo=false;
    private String entradas[]=new String[2];
    private ArrayList<beCombo> lista=new ArrayList<beCombo>();
    private beUsuario usuario = null;

    public int getrFila() {
        return rFila;
    }

    public void setrFila(int rFila) {
        this.rFila = rFila;
    }

    public int getRaCol() {
        return raCol;
    }

    public void setRaCol(int raCol) {
        this.raCol = raCol;
    }

    public int getTamR() {
        return tamR;
    }

    public void setTamR(int tamR) {
        this.tamR = tamR;
    }

    public int getPis() {
        return pis;
    }

    public void setPis(int pis) {
        this.pis = pis;
    }

    public int getUxr() {
        return uxr;
    }

    public void setUxr(int uxr) {
        this.uxr = uxr;
    }

    

    /** Creates new form pnfDistribucionAlmacen */
    
    
    public pnfDistribucionAlmacen(beUsuario usuario){
        //NO BORREN
        //fila=y-((y-1)/3)-1
        //nroubicacion=x-(x/8)-1
        //nroubicaciondentrodelrack=nroubicacion mod 7
        //nrorack=nroubicacion/7
        try {
            initComponents();
            this.txtAncho.setTransferHandler(null);
            this.txtDireccion.setTransferHandler(null);
            this.txtFilas.setTransferHandler(null);
            this.txtNombre.setTransferHandler(null);
            this.txtPisosXRack.setTransferHandler(null);
            this.txtRacksXFila.setTransferHandler(null);
            this.txtTelefono.setTransferHandler(null);
            this.txtUbsXRack.setTransferHandler(null);
            this.txtlargo.setTransferHandler(null);
            this.usuario = usuario;
            blHelper blh=new blHelper();
            blAlmacen bla=new blAlmacen();
            lista=blh.llenaCombo("PALLET");
            cboTipoPallet.setModel(blh.ComboBoxItem(lista));

            txtPisosXRack.setEnabled(false);
            txtUbsXRack.setEnabled(false);
            cboTipoPallet.setEnabled(false);
            txtlargo.setEnabled(false);
            txtAncho.setEnabled(false);
            txtFilas.setEnabled(false);
            cboEntradas.setEnabled(false);
            lstSecciones.setEnabled(false);
            btnMasSecciones.setEnabled(false);
            btnGuardar.setEnabled(false);
            txtRacksXFila.setEnabled(false);
            //btnMasTiposPallet.setEnabled(false);
            btnMasEntradas.setEnabled(false);
            btnGenerar.setEnabled(false);
            btnCargaMasiva.setEnabled(false);
            alma=bla.fObtenerAlmacen();
            if (alma!=null){
                beAlmacen bb=blh.obtenerDatosAlmacen();
                alma.setPisos(bb.getPisos());
                alma.setUbsxrack(bb.getUbsxrack());
                txtNombre.setEnabled(false);
                txtNombre.setText(alma.getNombre());
                txtDireccion.setText(alma.getDireccion());
                txtTelefono.setText(alma.getTelf());
                txtFilas.setText(String.valueOf(alma.getFilas()));
                txtRacksXFila.setText(String.valueOf(alma.getRacksXFila()));
                txtlargo.setText(String.valueOf(alma.getLargo()));
                txtAncho.setText(String.valueOf(alma.getAncho()));
                txtUbsXRack.setText(String.valueOf(alma.getUbsxrack()));
                txtPisosXRack.setText(String.valueOf(alma.getPisos()));
                ArrayList<String> secs=new ArrayList<String>();
                this.fillSeccionesList();
                entradas=bla.buscarEntrada();
                if (entradas!=null){
                    cboEntradas.setModel(new DefaultComboBoxModel(entradas));
                }
            }
            else{
                alma=new beAlmacen();
                nuevo=true;
                txtNombre.setEnabled(true);
            }
            
            }
            catch (Exception e) {
                e.printStackTrace();
            }        
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        lblNumUbics1 = new javax.swing.JLabel();
        pnlConfComp = new javax.swing.JPanel();
        lblTipoPallet1 = new javax.swing.JLabel();
        cboTipoPallet = new javax.swing.JComboBox();
        lblEntradas = new javax.swing.JLabel();
        lblSeccionesProductos = new javax.swing.JLabel();
        cboEntradas = new javax.swing.JComboBox();
        btnMasSecciones = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        lstSecciones = new javax.swing.JList();
        btnMasEntradas = new javax.swing.JButton();
        btnGuardar = new javax.swing.JButton();
        btnCargaMasiva = new javax.swing.JButton();
        pnlConfIni1 = new javax.swing.JPanel();
        lblRacksXFila6 = new javax.swing.JLabel();
        lblPisosXRack = new javax.swing.JLabel();
        txtRacksXFila = new javax.swing.JTextField();
        txtFilas = new javax.swing.JTextField();
        txtAncho = new javax.swing.JTextField();
        lblRacksXFila7 = new javax.swing.JLabel();
        lblRacksXFila8 = new javax.swing.JLabel();
        txtlargo = new javax.swing.JTextField();
        btnGuardar2 = new javax.swing.JButton();
        btnGenerar = new javax.swing.JButton();
        lblFilas3 = new javax.swing.JLabel();
        lblUbsXRack = new javax.swing.JLabel();
        txtPisosXRack = new javax.swing.JTextField();
        txtUbsXRack = new javax.swing.JTextField();
        pnlDatosGenerales = new javax.swing.JPanel();
        txtDireccion = new javax.swing.JTextField();
        lblNombre = new javax.swing.JLabel();
        btnGuardar1 = new javax.swing.JButton();
        btnConfigDist = new javax.swing.JButton();
        lblDireccion1 = new javax.swing.JLabel();
        lblDireccion2 = new javax.swing.JLabel();
        txtNombre = new javax.swing.JTextField();
        txtTelefono = new javax.swing.JTextField();

        addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                formMouseClicked(evt);
            }
        });
        setLayout(null);

        lblNumUbics1.setFont(new java.awt.Font("Dialog", 0, 36));
        lblNumUbics1.setText("Distribución del almacén");
        add(lblNumUbics1);
        lblNumUbics1.setBounds(210, 10, 460, 43);

        pnlConfComp.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)), "Configuración complementaria", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 0, 14))); // NOI18N
        pnlConfComp.setLayout(null);

        lblTipoPallet1.setFont(new java.awt.Font("Dialog", 0, 12));
        lblTipoPallet1.setText("Tipo de pallet*");
        pnlConfComp.add(lblTipoPallet1);
        lblTipoPallet1.setBounds(20, 40, 110, 15);

        cboTipoPallet.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        cboTipoPallet.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cboTipoPalletActionPerformed(evt);
            }
        });
        pnlConfComp.add(cboTipoPallet);
        cboTipoPallet.setBounds(190, 30, 180, 30);

        lblEntradas.setFont(new java.awt.Font("Dialog", 0, 12));
        lblEntradas.setText("Entradas*");
        pnlConfComp.add(lblEntradas);
        lblEntradas.setBounds(20, 100, 100, 15);

        lblSeccionesProductos.setFont(new java.awt.Font("Dialog", 0, 12));
        lblSeccionesProductos.setText("Secciones de productos*");
        pnlConfComp.add(lblSeccionesProductos);
        lblSeccionesProductos.setBounds(20, 160, 170, 15);

        cboEntradas.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        cboEntradas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cboEntradasActionPerformed(evt);
            }
        });
        pnlConfComp.add(cboEntradas);
        cboEntradas.setBounds(190, 90, 180, 30);

        btnMasSecciones.setBackground(new java.awt.Color(240, 235, 226));
        btnMasSecciones.setFont(new java.awt.Font("Dialog", 0, 12));
        btnMasSecciones.setText("+");
        btnMasSecciones.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnMasSeccionesActionPerformed(evt);
            }
        });
        pnlConfComp.add(btnMasSecciones);
        btnMasSecciones.setBounds(380, 160, 30, 27);

        lstSecciones.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jScrollPane1.setViewportView(lstSecciones);

        pnlConfComp.add(jScrollPane1);
        jScrollPane1.setBounds(190, 160, 180, 180);

        btnMasEntradas.setBackground(new java.awt.Color(240, 235, 226));
        btnMasEntradas.setFont(new java.awt.Font("Dialog", 0, 12));
        btnMasEntradas.setText("+");
        btnMasEntradas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnMasEntradasActionPerformed(evt);
            }
        });
        pnlConfComp.add(btnMasEntradas);
        btnMasEntradas.setBounds(380, 90, 30, 27);

        btnGuardar.setBackground(new java.awt.Color(240, 235, 226));
        btnGuardar.setFont(new java.awt.Font("Dialog", 0, 12));
        btnGuardar.setText("Guardar");
        btnGuardar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGuardarActionPerformed(evt);
            }
        });
        pnlConfComp.add(btnGuardar);
        btnGuardar.setBounds(50, 390, 160, 27);

        btnCargaMasiva.setBackground(new java.awt.Color(240, 235, 226));
        btnCargaMasiva.setFont(new java.awt.Font("Dialog", 0, 12));
        btnCargaMasiva.setText("Carga Masiva");
        btnCargaMasiva.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCargaMasivaActionPerformed(evt);
            }
        });
        pnlConfComp.add(btnCargaMasiva);
        btnCargaMasiva.setBounds(240, 390, 160, 27);

        add(pnlConfComp);
        pnlConfComp.setBounds(430, 240, 420, 430);

        pnlConfIni1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)), "Distribución general", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 0, 14))); // NOI18N
        pnlConfIni1.setLayout(null);

        lblRacksXFila6.setFont(new java.awt.Font("Dialog", 0, 12));
        lblRacksXFila6.setText("Ancho (metros)*");
        pnlConfIni1.add(lblRacksXFila6);
        lblRacksXFila6.setBounds(30, 100, 110, 15);

        lblPisosXRack.setFont(new java.awt.Font("Dialog", 0, 12));
        lblPisosXRack.setText("Pisos por rack*");
        pnlConfIni1.add(lblPisosXRack);
        lblPisosXRack.setBounds(30, 340, 160, 15);

        txtRacksXFila.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtRacksXFilaKeyTyped(evt);
            }
        });
        pnlConfIni1.add(txtRacksXFila);
        txtRacksXFila.setBounds(200, 150, 130, 28);

        txtFilas.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtFilasKeyTyped(evt);
            }
        });
        pnlConfIni1.add(txtFilas);
        txtFilas.setBounds(200, 210, 130, 28);
        pnlConfIni1.add(txtAncho);
        txtAncho.setBounds(200, 90, 130, 28);

        lblRacksXFila7.setFont(new java.awt.Font("Dialog", 0, 12));
        lblRacksXFila7.setText("Racks por fila*");
        pnlConfIni1.add(lblRacksXFila7);
        lblRacksXFila7.setBounds(30, 160, 110, 15);

        lblRacksXFila8.setFont(new java.awt.Font("Dialog", 0, 12));
        lblRacksXFila8.setText("Largo (metros)*");
        pnlConfIni1.add(lblRacksXFila8);
        lblRacksXFila8.setBounds(30, 40, 120, 15);

        txtlargo.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtlargoKeyTyped(evt);
            }
        });
        pnlConfIni1.add(txtlargo);
        txtlargo.setBounds(200, 30, 130, 28);

        btnGuardar2.setBackground(new java.awt.Color(240, 235, 226));
        btnGuardar2.setFont(new java.awt.Font("Dialog", 0, 12));
        btnGuardar2.setText("Guardar");
        pnlConfIni1.add(btnGuardar2);
        btnGuardar2.setBounds(200, 520, 90, 27);

        btnGenerar.setBackground(new java.awt.Color(240, 235, 226));
        btnGenerar.setFont(new java.awt.Font("Dialog", 0, 12));
        btnGenerar.setText("Generar Almacen");
        btnGenerar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGenerarActionPerformed(evt);
            }
        });
        pnlConfIni1.add(btnGenerar);
        btnGenerar.setBounds(90, 390, 160, 27);

        lblFilas3.setFont(new java.awt.Font("Dialog", 0, 12));
        lblFilas3.setText("Filas (cantidad par)*");
        pnlConfIni1.add(lblFilas3);
        lblFilas3.setBounds(30, 220, 150, 15);

        lblUbsXRack.setFont(new java.awt.Font("Dialog", 0, 12));
        lblUbsXRack.setText("Ubicaciones por rack*");
        pnlConfIni1.add(lblUbsXRack);
        lblUbsXRack.setBounds(30, 280, 160, 15);

        txtPisosXRack.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtPisosXRackKeyTyped(evt);
            }
        });
        pnlConfIni1.add(txtPisosXRack);
        txtPisosXRack.setBounds(200, 330, 130, 28);

        txtUbsXRack.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtUbsXRackKeyTyped(evt);
            }
        });
        pnlConfIni1.add(txtUbsXRack);
        txtUbsXRack.setBounds(200, 270, 130, 28);

        add(pnlConfIni1);
        pnlConfIni1.setBounds(50, 240, 350, 430);

        pnlDatosGenerales.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)), "Datos generales", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 0, 14))); // NOI18N
        pnlDatosGenerales.setLayout(null);

        txtDireccion.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtDireccionKeyTyped(evt);
            }
        });
        pnlDatosGenerales.add(txtDireccion);
        txtDireccion.setBounds(240, 90, 130, 28);

        lblNombre.setFont(new java.awt.Font("Dialog", 0, 12));
        lblNombre.setText("Nombre*");
        pnlDatosGenerales.add(lblNombre);
        lblNombre.setBounds(60, 40, 80, 15);

        btnGuardar1.setBackground(new java.awt.Color(240, 235, 226));
        btnGuardar1.setFont(new java.awt.Font("Dialog", 0, 12));
        btnGuardar1.setText("Guardar");
        pnlDatosGenerales.add(btnGuardar1);
        btnGuardar1.setBounds(200, 520, 90, 27);

        btnConfigDist.setBackground(new java.awt.Color(240, 235, 226));
        btnConfigDist.setFont(new java.awt.Font("Dialog", 0, 12));
        btnConfigDist.setText("Configurar distribución");
        btnConfigDist.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnConfigDistActionPerformed(evt);
            }
        });
        pnlDatosGenerales.add(btnConfigDist);
        btnConfigDist.setBounds(490, 90, 230, 27);

        lblDireccion1.setFont(new java.awt.Font("Dialog", 0, 12));
        lblDireccion1.setText("Dirección*");
        pnlDatosGenerales.add(lblDireccion1);
        lblDireccion1.setBounds(60, 100, 90, 15);

        lblDireccion2.setFont(new java.awt.Font("Dialog", 0, 12));
        lblDireccion2.setText("Teléfono*");
        pnlDatosGenerales.add(lblDireccion2);
        lblDireccion2.setBounds(430, 40, 80, 15);

        txtNombre.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtNombreKeyTyped(evt);
            }
        });
        pnlDatosGenerales.add(txtNombre);
        txtNombre.setBounds(240, 30, 130, 28);

        txtTelefono.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtTelefonoKeyTyped(evt);
            }
        });
        pnlDatosGenerales.add(txtTelefono);
        txtTelefono.setBounds(540, 30, 130, 28);

        add(pnlDatosGenerales);
        pnlDatosGenerales.setBounds(50, 70, 800, 150);
    }// </editor-fold>//GEN-END:initComponents

    private void cboEntradasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cboEntradasActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_cboEntradasActionPerformed

    private void btnMasSeccionesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnMasSeccionesActionPerformed
        // TODO add your handling code here:
        blHelper blh=new blHelper();
        blAlmacen bla=new blAlmacen();
        this.fillSeccionesList();

        dlgMapaSecciones mapaSecs= new dlgMapaSecciones(this,true, usuario);
        mapaSecs.setMinimumSize(new Dimension(475, 340));
        mapaSecs.setVisible(true);
        mapaSecs.dispose();
        btnGuardar.setEnabled(true);

        this.fillSeccionesList();
        
    }//GEN-LAST:event_btnMasSeccionesActionPerformed

    private void cboTipoPalletActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cboTipoPalletActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_cboTipoPalletActionPerformed

    private void formMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_formMouseClicked

    private void btnGenerarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGenerarActionPerformed
            // TODO add your handling code here:
        int mensaje=0;
        blAlmacen blalm= new blAlmacen();
        cboTipoPallet.setEnabled(true);
        cboEntradas.setEnabled(true);
        lstSecciones.setEnabled(true);
        //btnMasTiposPallet.setEnabled(true);
        btnMasEntradas.setEnabled(true);
        if(txtAncho.getText().isEmpty() ||txtlargo.getText().isEmpty()||txtFilas.getText().isEmpty() ||
                txtRacksXFila.getText().isEmpty()||txtUbsXRack.getText().isEmpty() ||txtPisosXRack.getText().isEmpty()||
                Double.parseDouble(txtAncho.getText())<=0 ||Double.parseDouble(txtlargo.getText())<=0||
                Integer.parseInt(txtFilas.getText())<=0||Integer.parseInt(txtRacksXFila.getText())<=0||
                Integer.parseInt(txtPisosXRack.getText())<=0||Integer.parseInt(txtUbsXRack.getText())<=0){
            visualHelper.mostrarMensajeAdvertencia("Por favor, complete todos los campos con números mayores a 0");
        }
        else{
            if (((Integer.parseInt(txtFilas.getText()) % 2 )==0)){

                if(Integer.parseInt(txtFilas.getText())<=20 && Integer.parseInt(txtRacksXFila.getText())<=8 &&
                Integer.parseInt(txtPisosXRack.getText())<=5 && Integer.parseInt(txtUbsXRack.getText())<=10){

                if(!this.nuevo){
                    if (alma.getRacksXFila()!= Integer.parseInt(txtRacksXFila.getText())||alma.getFilas()!=Integer.parseInt(txtFilas.getText())||
                            alma.getUbsxrack()!=Integer.parseInt(txtUbsXRack.getText())||alma.getPisos()!=Integer.parseInt(txtPisosXRack.getText())){

                        if(alma.getRacksXFila()<= Integer.parseInt(txtRacksXFila.getText())&&alma.getFilas()<=Integer.parseInt(txtFilas.getText())&&
                                alma.getUbsxrack()<=Integer.parseInt(txtUbsXRack.getText())&&alma.getPisos()<=Integer.parseInt(txtPisosXRack.getText())){
                            this.setRaCol(Integer.parseInt(txtFilas.getText()));
                            this.setrFila(Integer.parseInt(txtRacksXFila.getText()));
                            this.setUxr(Integer.parseInt(txtUbsXRack.getText()));
                            this.setPis(Integer.parseInt(txtPisosXRack.getText()));
                            fillSeccionesList();
                            cboEntradas.removeAllItems();
                            alma.setRacksXFila(Integer.parseInt(txtRacksXFila.getText()));
                            alma.setFilas(Integer.parseInt(txtFilas.getText()));
                            try {
                                mensaje = blalm.modificarAlmacen(alma, pis, uxr,true);
                                visualHelper.mostrarMensajeSatisfaccion("Se modificó exitosamente la información del almacén");
                                (new blLog()).registrarLog(this.usuario.getIdUsuario(), this.usuario.getCargo(), "Se modificó la información del almacén");
                                txtRacksXFila.setEnabled(false);
                                txtFilas.setEnabled(false);
                                txtPisosXRack.setEnabled(false);
                                txtUbsXRack.setEnabled(false);
                                btnGenerar.setEnabled(false);
                            } catch (SQLException ex) {
                                ex.printStackTrace();
                                visualHelper.mostrarMensajeError("Ocurrió un error en el proceso");

                            } catch (Exception ex) {
                                ex.printStackTrace();
                                visualHelper.mostrarMensajeError("Ocurrió un error en el proceso");
                            }

                        }
                        else{
                            visualHelper.mostrarMensajeError("Para reducir la capacidad del almacén, ingrese a la funcionalidad Bloqueo de ubicaciones o Bloqueo de racks");
                            txtRacksXFila.setEnabled(true);
                            txtFilas.setEnabled(true);
                            txtPisosXRack.setEnabled(true);
                            txtUbsXRack.setEnabled(true);
                        }
                    }
                    else{
                        this.setRaCol(Integer.parseInt(txtFilas.getText()));
                        this.setrFila(Integer.parseInt(txtRacksXFila.getText()));
                        this.setUxr(Integer.parseInt(txtUbsXRack.getText()));
                        this.setPis(Integer.parseInt(txtPisosXRack.getText()));
                        txtRacksXFila.setEnabled(false);
                        txtFilas.setEnabled(false);
                        txtPisosXRack.setEnabled(false);
                        txtUbsXRack.setEnabled(false);
                        txtAncho.setEnabled(false);
                        txtlargo.setEnabled(false);
                        btnGenerar.setEnabled(false);

                        try {
                            mensaje = blalm.modificarAlmacen(alma, pis, uxr, false);
                            visualHelper.mostrarMensajeSatisfaccion("Se modificó exitosamente la información del almacén");
                            (new blLog()).registrarLog(this.usuario.getIdUsuario(), this.usuario.getCargo(), "Se modificó la información del almacén");
                        } catch (SQLException ex) {
                            ex.printStackTrace();
                            visualHelper.mostrarMensajeError("Ocurrió un error en el proceso");

                        } catch (Exception ex) {
                            ex.printStackTrace();
                            visualHelper.mostrarMensajeError("Ocurrió un error en el proceso");
                        }

                    }
                }



                else{
                    txtAncho.setEnabled(false);
                    txtlargo.setEnabled(false);
                    txtRacksXFila.setEnabled(false);
                    txtFilas.setEnabled(false);
                    txtPisosXRack.setEnabled(false);
                    txtUbsXRack.setEnabled(false);
                    btnGenerar.setEnabled(false);
                    this.setRaCol(Integer.parseInt(txtFilas.getText()));
                    this.setrFila(Integer.parseInt(txtRacksXFila.getText()));
                    this.setUxr(Integer.parseInt(txtUbsXRack.getText()));
                    this.setPis(Integer.parseInt(txtPisosXRack.getText()));
                    alma.setAncho(Float.parseFloat(txtAncho.getText()));
                    alma.setLargo(Float.parseFloat(txtlargo.getText()));
                    alma.setRacksXFila(Integer.parseInt(txtRacksXFila.getText()));
                    alma.setFilas(Integer.parseInt(txtFilas.getText()));

                    try {
                        mensaje = blalm.registraAlmacen(alma, pis, uxr);
                        if (mensaje==1)
                        visualHelper.mostrarMensajeSatisfaccion("Se registró el almacen exitosamente");
                        (new blLog()).registrarLog(this.usuario.getIdUsuario(), this.usuario.getCargo(), "Se registró por primera vez la información del almacén");
                    } catch (SQLException ex) {
                        ex.printStackTrace();
                        visualHelper.mostrarMensajeError("Ocurrió un error al realizar el proceso");
                    } catch (Exception ex) {
                        ex.printStackTrace();
                        visualHelper.mostrarMensajeError("Ocurrió un error al realizar el proceso");
                    }
                }


                }
                else{
                   visualHelper.mostrarMensajeAdvertencia("Está superando el limite de dimensiones del almacén. Modifique los valores");
                }
            }
            else{
                visualHelper.mostrarMensajeAdvertencia("La cantidad de filas debe ser par, por favor, vuelva a ingresar una cantidad válida");
            }
        }

    }//GEN-LAST:event_btnGenerarActionPerformed

    private void btnConfigDistActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnConfigDistActionPerformed
        // TODO add your handling code here:
        String strNom="";
        String strTelf="";
        String strDir="";

        if (    !this.txtNombre.getText().isEmpty() &&
                !this.txtDireccion.getText().isEmpty() &&
                !this.txtTelefono.getText().isEmpty()){
            if (this.txtTelefono.getText().trim().length()>= 6){
                strNom = this.txtNombre.getText();
                strTelf = this.txtTelefono.getText();
                strDir= this.txtDireccion.getText();
                txtDireccion.setEnabled(false);
                txtTelefono.setEnabled(false);
                txtRacksXFila.setEnabled(true);
                txtFilas.setEnabled(true);
                txtPisosXRack.setEnabled(true);
                txtUbsXRack.setEnabled(true);
                btnGenerar.setEnabled(true);
                if (this.nuevo) {
                    txtNombre.setEnabled(false);
                    txtAncho.setEnabled(true);
                    txtlargo.setEnabled(true);
                    alma=new beAlmacen();
                    alma.setNombre(strNom);
                }

                alma.setDireccion(strDir);
                alma.setTelf(strTelf);
            }
            else
                visualHelper.mostrarMensajeAdvertencia("El número debe tener mínimo 6 dígitos.");
        }
        else
            visualHelper.mostrarMensajeAdvertencia("Debe llenar los campos obligatorios (*).");
        

        
    }//GEN-LAST:event_btnConfigDistActionPerformed

    private void btnMasEntradasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnMasEntradasActionPerformed
        // TODO add your handling code here:
        blHelper blh=new blHelper();
        blAlmacen bla=new blAlmacen();
        
        dlgMapaCreado mapaCreado=new dlgMapaCreado(this, true, usuario);
        mapaCreado.setMinimumSize(new Dimension(475, 340));
        mapaCreado.setVisible(true);
        mapaCreado.dispose();

        try {
            entradas = bla.buscarEntrada();
        } catch (SQLException ex) {
            ex.printStackTrace();
            visualHelper.mostrarMensajeError("Ocurrió un error al realizar el procesamiento");
        }
        if (entradas!=null){
            cboEntradas.setModel(new DefaultComboBoxModel(entradas));
            btnMasSecciones.setEnabled(true);
            this.btnGuardar.setEnabled(true);
        }
    }//GEN-LAST:event_btnMasEntradasActionPerformed

    private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGuardarActionPerformed
        try {
            // TODO add your handling code here:
            new blAlmacen().modificarTipoDePallet(((beItem) cboTipoPallet.getSelectedItem()).getId());
            if(nuevo){
                visualHelper.mostrarMensajeSatisfaccion("Se registró exitosamente el almacén ");
                this.btnCargaMasiva.setEnabled(true);
                this.btnGuardar.setEnabled(false);
            }
            else{
                visualHelper.mostrarMensajeSatisfaccion("Se modificó exitosamente el almacén");
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
            visualHelper.mostrarMensajeError("Ocurrió un error al realizar el procesamiento");
        }
        
    }//GEN-LAST:event_btnGuardarActionPerformed

    private void txtRacksXFilaKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtRacksXFilaKeyTyped
        // TODO add your handling code here:
        visualHelper.soloDigitosEnTextField(evt);
        visualHelper.controlarTamanho(evt, 3, txtRacksXFila);
    }//GEN-LAST:event_txtRacksXFilaKeyTyped

    private void txtFilasKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtFilasKeyTyped
        // TODO add your handling code here:
        visualHelper.soloDigitosEnTextField(evt);
        visualHelper.controlarTamanho(evt, 3, txtFilas);
    }//GEN-LAST:event_txtFilasKeyTyped

    private void txtUbsXRackKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtUbsXRackKeyTyped
        // TODO add your handling code here:
        visualHelper.soloDigitosEnTextField(evt);
        visualHelper.controlarTamanho(evt, 2, txtUbsXRack);
    }//GEN-LAST:event_txtUbsXRackKeyTyped

    private void txtPisosXRackKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtPisosXRackKeyTyped
        // TODO add your handling code here:
        visualHelper.soloDigitosEnTextField(evt);
        visualHelper.controlarTamanho(evt, 2, txtPisosXRack);
    }//GEN-LAST:event_txtPisosXRackKeyTyped

    private void txtNombreKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyTyped
        // TODO add your handling code here:
        visualHelper.soloNombres(evt);
        visualHelper.controlarTamanho(evt, 50, txtNombre);
    }//GEN-LAST:event_txtNombreKeyTyped

    private void txtDireccionKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtDireccionKeyTyped
        // TODO add your handling code here:
        visualHelper.soloDigitosLetrasPuntoComaComilla(evt);
        visualHelper.controlarTamanho(evt, 50, txtDireccion);
    }//GEN-LAST:event_txtDireccionKeyTyped

    private void txtTelefonoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtTelefonoKeyTyped
        // TODO add your handling code here:
        visualHelper.validarTelefono(evt);
        visualHelper.controlarTamanho(evt, 12, txtTelefono);
    }//GEN-LAST:event_txtTelefonoKeyTyped

    private void txtlargoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtlargoKeyTyped
        // TODO add your handling code here:
       String strLargo = this.txtlargo.getText();
       int i = strLargo.indexOf(".");
       if (i==-1){
           if (strLargo.length() > 7)
               visualHelper.soloPuntos(evt);
           else
               visualHelper.soloDigitosYPunto(evt);
       }
       else{
           if(strLargo.length()>(i+4)){
               visualHelper.ningunCaracterEnTextField(evt);
           }
           else{
           visualHelper.soloDigitosEnTextField(evt);
           }
       }
    }//GEN-LAST:event_txtlargoKeyTyped

    private void btnCargaMasivaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCargaMasivaActionPerformed
        // TODO add your handling code here:

        JFileChooser jfc = new JFileChooser();
        int rslt = jfc.showOpenDialog(this);
        if (rslt == JFileChooser.APPROVE_OPTION){
            String strArch = jfc.getSelectedFile().getName();
            if (!strArch.trim().isEmpty()){
                String ruta = jfc.getSelectedFile().getPath().trim();
                if (!ruta.isEmpty()){
                    try{

                        Workbook archivoExcel = Workbook.getWorkbook(new File(ruta));

                        //System.out.println("Número de Hojas\t" + archivoExcel.getNumberOfSheets());

                        for (int sheetNo = 0; sheetNo < archivoExcel.getNumberOfSheets(); sheetNo++){
                            // Recorre cada hoja
                            Sheet hoja = archivoExcel.getSheet(sheetNo);
                                                        
                            //System.out.println("Nombre de la Hoja\t" + archivoExcel.getSheet(sheetNo).getName());
                            String nomHoja=archivoExcel.getSheet(sheetNo).getName();
                           
                            if (nomHoja.equals("Tipo Producto")){
                                //Se llenan las zonas del almacén
                                llenarZonas(hoja);
                            }
                            
                            if (nomHoja.equals("Rack Tipo Producto")){                                
                                llenarRackTipoProducto(hoja);
                            }

                            if (nomHoja.equals("Proveedor")){
                                llenarProveedor(hoja);
                            }

                            if (nomHoja.equals("Producto")){
                                llenarProducto(hoja);
                            }

                            if (nomHoja.equals("Lote Producto")){
                                llenarLoteProducto(hoja);
                            }

                            if (nomHoja.equals("Pallet")){
                                llenarPallet(hoja);
                            }

                            if (nomHoja.equals("Ubicacion x Pallet")){
                                llenarUbicacionxPallet(hoja);
                            }

                        }

                        visualHelper.mostrarMensajeSatisfaccion("Se realizó la carga masiva con éxito");
                        this.btnCargaMasiva.setEnabled(false);

                    }
                    catch (Exception e){
                        e.printStackTrace();
                        visualHelper.mostrarMensajeError("Ocurrió un error al realizar la carga masiva.");
                    }
                }
                else
                    visualHelper.mostrarMensajeError("Especifique una ruta válida del archivo de carga masiva.");
            }
            else
                visualHelper.mostrarMensajeError("Especifique un nombre al archivo que va a cargar.");
        }


    }//GEN-LAST:event_btnCargaMasivaActionPerformed


    private void llenarZonas(Sheet hoja){

        int numFilas = hoja.getRows();
        blAlmacen gestorAlmacen = new blAlmacen();        
        String descripcion;
       

        for (int fila = 1; fila < numFilas; fila++) {
            // Recorre cada fila de la hoja

            try{
                //Se lee los datos del Excel                
                descripcion = hoja.getCell(1, fila).getContents().toString();

                //Se crea el obj tipo Producto
                beTipoProducto tipoProd = new beTipoProducto();
                tipoProd.setDescripcion(descripcion);

                //Se registra el tipo de producto (zona)
                int idTipoProducto = gestorAlmacen.registrarTipoProducto(tipoProd);
                (new blLog()).registrarLog(this.usuario.getIdUsuario(), this.usuario.getCargo(), "Se registró el codigo: "+idTipoProducto+
                        "del Tipo producto: "+tipoProd.getDescripcion());
                
            }
            catch (Exception ex) {
                ex.printStackTrace();
                visualHelper.mostrarMensajeError("Ocurrió un error durante el proceso");
            }

        }
    }

    private void llenarRackTipoProducto(Sheet hoja){

        int numFilas = hoja.getRows();        
        blRack gestorRacks = new blRack();
        int idTipoProducto;
        int idRack;

        for (int fila = 1; fila < numFilas; fila++) {
            // Recorre cada fila de la hoja

            try{
                //Se lee los datos del Excel
                idRack = Integer.parseInt(hoja.getCell(0, fila).getContents().toString());


                String strTipoProducto = hoja.getCell(1, fila).getContents().toString();
                if (strTipoProducto!=null)                    
                    if (!(strTipoProducto.isEmpty())&&(strTipoProducto.length()!=0))
                        if ((new blHelper()).caracteresSoloDigitos(strTipoProducto)){
                            idTipoProducto = Integer.parseInt(strTipoProducto);

                            //Se registra el rack y su tipo de producto (zona)
                            gestorRacks.actualizarTipoProdRack(idRack, idTipoProducto);
                        }
            }
            catch (Exception ex) {
                ex.printStackTrace();
                visualHelper.mostrarMensajeError("Ocurrió un error durante el proceso");
            }

        }
    }

    private void llenarProveedor(Sheet hoja){

        int numFilas = hoja.getRows();
        blProveedor gestorProveedores = new blProveedor();
        String data = "";
        int estado = 0;

        for (int fila = 1; fila < numFilas; fila++) {
            // Recorre cada fila de la hoja

            try{
                String razonSocial = hoja.getCell(1, fila).getContents().toString();
                String ruc = hoja.getCell(2, fila).getContents().toString();
                String direccion = hoja.getCell(3, fila).getContents().toString();
                String telefono = hoja.getCell(4, fila).getContents().toString();
                String contacto = hoja.getCell(5, fila).getContents().toString();
                String email = hoja.getCell(6, fila).getContents().toString();
                estado = Integer.parseInt(hoja.getCell(7, fila).getContents().toString());

                //Se crea el objeto Proveedor. El Id se autogenera por eso se coloca -1
                beProveedor proveedor = new beProveedor(-1,razonSocial,ruc,direccion,telefono,contacto,email,estado);

                //Se registra el Proveedor
                int idProveedor = gestorProveedores.registrarProveedor(proveedor);
                (new blLog()).registrarLog(this.usuario.getIdUsuario(), this.usuario.getCargo(),
                        "Se registró el código: "+idProveedor+
                        "del proveedor: "+proveedor.getRazon_Social());

            }
            catch (Exception ex) {
                ex.printStackTrace();
                visualHelper.mostrarMensajeError("Ocurrió un error durante el proceso");
            }
        }
    }

    private void llenarProducto(Sheet hoja){

        int numFilas = hoja.getRows();
        blProducto gestorProductos = new blProducto();
        String data = "";
        int estado = 0;

        for (int fila = 1; fila < numFilas; fila++) {
            // Recorre cada fila de la hoja

            try{
                String nombre = hoja.getCell(1, fila).getContents().toString();
                String descripcion = hoja.getCell(2, fila).getContents().toString();

                if (descripcion == null)
                    descripcion = "";

                String strCosto = hoja.getCell(3, fila).getContents().toString();
                Double costo= Double.parseDouble(strCosto.replace(',','.'));
                costo=Math.rint(costo*10000)/10000;

                int idTipoProducto=Integer.parseInt(hoja.getCell(4, fila).getContents().toString());
                int stock = Integer.parseInt(hoja.getCell(5, fila).getContents().toString());

                estado = (new blProducto()).dameIdEstadoProducto(beProducto.nombreActivo);

                //Se crea el objeto Producto. El Id se autogenera por eso se coloca -1
                beProducto producto = new beProducto(-1,nombre,descripcion,costo,idTipoProducto,stock,estado);

                //Se registra el Producto
                int idProducto = gestorProductos.registrarProductoConStock(producto);
                producto.setIdProducto(idProducto);
                (new blLog()).registrarLog(this.usuario.getIdUsuario(), this.usuario.getCargo(),
                        "Se registró el código: "+idProducto+
                        "del producto: "+nombre);

                //Lista de Proveedores
                ArrayList<Integer> listaIdProveedores = new ArrayList<Integer>();
                String auxProveedor = hoja.getCell(6, fila).getContents().toString();

                for (int i=0; i<auxProveedor.length(); i=i+2){
                    listaIdProveedores.add(Integer.parseInt(auxProveedor.substring(i,i+1)));
                    //System.out.println(auxProveedor.substring(i,i+1)+"\n");
                }

                //Se registra los proveedores del Producto
                gestorProductos.registrarProductoXProveedor(producto, listaIdProveedores);

            }
            catch (Exception ex) {
                ex.printStackTrace();
                visualHelper.mostrarMensajeError("Ocurrió un error durante el proceso");
            }
        }
    }

    private void llenarLoteProducto(Sheet hoja){

        int numFilas = hoja.getRows();
        blLote gestorLotes = new blLote();
        String data = "";
        int estado = 0;
        int idLote = 0;

        for (int fila = 1; fila < numFilas; fila++) {
            // Recorre cada fila de la hoja

            try{
                idLote += 1; //Es cualkier idLote, NO es el que se almacena en la BD

                //Se crea el Lote
                beLote lote=new beLote();
                lote.setIdLote(idLote);
                lote.setIdProducto(Integer.parseInt(hoja.getCell(1, fila).getContents().toString()));

                String fecha = hoja.getCell(2, fila).getContents().toString();
                lote.setFechaVencimiento(Date.valueOf(fecha.replace('/','-'))); //Fecha YYYY-MM-DD
                lote.setAltoCaja(Integer.parseInt(hoja.getCell(3, fila).getContents().toString()));
                lote.setAnchoCaja(Integer.parseInt(hoja.getCell(4, fila).getContents().toString()));
                lote.setLargoCaja(Integer.parseInt(hoja.getCell(5, fila).getContents().toString()));
                lote.setCajasPorPallet(Integer.parseInt(hoja.getCell(6, fila).getContents().toString()));
                lote.setPesoCaja(Integer.parseInt(hoja.getCell(7, fila).getContents().toString()));

                //Se genera el ingreso
                int idIngreso=(new blIngreso().registrarIngreso());
                lote.setIdIngreso(idIngreso);

                //Se registra el Lote
                gestorLotes.registrarLote(lote);

            }
            catch (Exception ex) {
                ex.printStackTrace();
                visualHelper.mostrarMensajeError("Ocurrió un error durante el proceso");
            }
        }
    }

    private void llenarPallet(Sheet hoja){

        int numFilas = hoja.getRows();
        blPallet gestorPallets = new blPallet();
        String data = "";

        for (int fila = 1; fila < numFilas; fila++) {
            // Recorre cada fila de la hoja

            try{
                //Se crea el Pallet
                bePallet pallet = new bePallet();

                pallet.setAncho(Integer.parseInt(hoja.getCell(1, fila).getContents().toString()));
                pallet.setLargo(Integer.parseInt(hoja.getCell(2, fila).getContents().toString()));
                pallet.setPeso(Integer.parseInt(hoja.getCell(3, fila).getContents().toString()));
                pallet.setTipo_pallet(Integer.parseInt(hoja.getCell(4, fila).getContents().toString()));
                pallet.setId_lote(Integer.parseInt(hoja.getCell(5, fila).getContents().toString()));
                pallet.setIdProducto(Integer.parseInt(hoja.getCell(6, fila).getContents().toString()));
                pallet.setNroPallet(Integer.parseInt(hoja.getCell(7, fila).getContents().toString()));
                pallet.setCantCajas(Integer.parseInt(hoja.getCell(8, fila).getContents().toString()));

                //Se registra el Pallet
                int idPallet=gestorPallets.registrarPallet(pallet);
                (new blLog()).registrarLog(this.usuario.getIdUsuario(), this.usuario.getCargo(),
                        "Se registró el pallet de código: "+idPallet);

            }
            catch (Exception ex) {
                ex.printStackTrace();
                visualHelper.mostrarMensajeError("Ocurrió un error durante el proceso");
            }
        }
    }

    private void llenarUbicacionxPallet(Sheet hoja){

        int numFilas = hoja.getRows();
        blUbicacion gestorUbicaciones = new blUbicacion();
        String data = "";

        for (int fila = 1; fila < numFilas; fila++) {
            // Recorre cada fila de la hoja

            try{
                //Se obtiene el codigo de la Ubicacion
                String strFila = (hoja.getCell(2, fila).getContents().toString());
                String strRack = (hoja.getCell(3, fila).getContents().toString());
                String strPiso = (hoja.getCell(0, fila).getContents().toString());
                String strUbi = (hoja.getCell(1, fila).getContents().toString());

                //Deberia devolver solo una ubicacion
                ArrayList<beUbicacion> lstUbicacion = gestorUbicaciones.obtenerUbicaciones_CargaMasiva(strFila, strRack, strPiso, strUbi);

                int idPallet = Integer.parseInt(hoja.getCell(4, fila).getContents().toString());

                //Se registra en Ubicacion_x_Lote
                beUbicacion ubicacion = new beUbicacion();
                ubicacion.setIdUbicacion(lstUbicacion.get(0).getIdUbicacion());

                bePallet pallet = new bePallet();
                pallet.setUbicacion(ubicacion);
                pallet.setId_Pallet(idPallet);

                ArrayList<bePallet> arrPallets = new ArrayList<bePallet>();
                arrPallets.add(pallet);
                gestorUbicaciones.registrarUbiHoy(arrPallets);

            }
            catch (Exception ex) {
                ex.printStackTrace();
                visualHelper.mostrarMensajeError("Ocurrió un error durante el proceso");
            }
        }
    }


    public void fillSeccionesList(){
        ArrayList<String> secs=new ArrayList<String>();
        blAlmacen bla=new blAlmacen();
        listData.clear();
        try {
            secs = bla.buscarTiposProduct();
        } catch (SQLException ex) {
            ex.printStackTrace();
            visualHelper.mostrarMensajeError("Ocurrió un error al realizar el procesamiento");
        }
        for (int it = 0; it<secs.size();it++) {
            listData.add((String)secs.get(it));
        }

        lstSecciones.removeAll();
        lstSecciones.setListData(listData);
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnCargaMasiva;
    private javax.swing.JButton btnConfigDist;
    private javax.swing.JButton btnGenerar;
    private javax.swing.JButton btnGuardar;
    private javax.swing.JButton btnGuardar1;
    private javax.swing.JButton btnGuardar2;
    private javax.swing.JButton btnMasEntradas;
    private javax.swing.JButton btnMasSecciones;
    private javax.swing.JComboBox cboEntradas;
    private javax.swing.JComboBox cboTipoPallet;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel lblDireccion1;
    private javax.swing.JLabel lblDireccion2;
    private javax.swing.JLabel lblEntradas;
    private javax.swing.JLabel lblFilas3;
    private javax.swing.JLabel lblNombre;
    private javax.swing.JLabel lblNumUbics1;
    private javax.swing.JLabel lblPisosXRack;
    private javax.swing.JLabel lblRacksXFila6;
    private javax.swing.JLabel lblRacksXFila7;
    private javax.swing.JLabel lblRacksXFila8;
    private javax.swing.JLabel lblSeccionesProductos;
    private javax.swing.JLabel lblTipoPallet1;
    private javax.swing.JLabel lblUbsXRack;
    private javax.swing.JList lstSecciones;
    private javax.swing.JPanel pnlConfComp;
    private javax.swing.JPanel pnlConfIni1;
    private javax.swing.JPanel pnlDatosGenerales;
    private javax.swing.JTextField txtAncho;
    private javax.swing.JTextField txtDireccion;
    private javax.swing.JTextField txtFilas;
    private javax.swing.JTextField txtNombre;
    private javax.swing.JTextField txtPisosXRack;
    private javax.swing.JTextField txtRacksXFila;
    private javax.swing.JTextField txtTelefono;
    private javax.swing.JTextField txtUbsXRack;
    private javax.swing.JTextField txtlargo;
    // End of variables declaration//GEN-END:variables

}
